package com.sdy.healthcode.h5.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.healthcode.biz.dto.ExpertsAppointmentDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

@ApiModel(value = "扫码用户信息")
@Data
@Accessors(chain = true)
public class ScanUserInfoVO {
    
    @ApiModelProperty(value = "姓名")
    private String name;
    
    @ApiModelProperty(value = "证件类型 1-身份证 2-护照 3-台胞证 4-回乡证 5-军官证")
    private Integer cardType;

    @ApiModelProperty(value = "身份 1-就诊患者 2-陪同家属 3-本院人员", required = true, allowableValues = "1,2,3")
    private Integer type;
    
    @ApiModelProperty(value = "证件号")
    private String cardId;
    
    @ApiModelProperty(value = "手机号码")
    private String phone;
    
    @ApiModelProperty(value = "当前住址")
    private String addrLocal;

    @ApiModelProperty(value = "用户扫码记录次数")
    private Integer recordCount;

    @ApiModelProperty(value = "用户进社区次数")
    private Integer communityInCount;

    @ApiModelProperty(value = "用户出社区次数")
    private Integer communityOutCount;

    @ApiModelProperty(value = "家属")
    private List<FamilyMemberVO> familyMember;

    @ApiModelProperty(value = "预约时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date appointmentTime;

    @ApiModelProperty(value = "是否预约今天")
    private Boolean appointmentToday;

    @ApiModelProperty(value = "身份证图片")
    private List<String> idCardImg;
    
    @ApiModelProperty(value = "科室预约信息")
    @Deprecated
    private ExpertsAppointmentDTO expertsAppointment;

    @ApiModelProperty(value = "科室预约信息")
    private List<ExpertsAppointmentDTO> expertsAppointmentList;
}
